A solid state drive (SSD) may be comprised of one or more packages of non-volatile memory dies, where each die is comprised of memory cells, where memory cells are organized into pages and pages are organized into blocks. Each memory cell can store one or more bits of information. For example, a solid state drive (SSD) comprising NAND memory cells has an indirection table, a logical block address to physical block address (L2P) table to convert logical addresses, such as logical block addresses (LBAs), to NAND physical block addresses (PBAs).
Typically, the L2P table stores the NAND physical block addresses with a 4 KibiByte (KiB) indirection unit (IU) granularity, with 4-bytes per entry, and, thus, consumes 1 MebiByte (MiB) of volatile memory (for example, dynamic random access memory (DRAM)) space per GibiByte (GiB) of SSD logical memory capacity. The L2P table therefore requires 1 GiB of DRAM for a 1 TebiByte (TiB) SSD item identifier (where the SSD has 1 TiB logic capacity, while its physical capacity may be larger), and 16 GiB of DRAM for a 16 TiB SSD (an SSD with 16 TiB of NAND for storing user data), resulting in $10 to $200 in additional cost, depending on the SSD capacity. This results in high SSD cost. Each SSD stock keeping unit (SKU) has a unique configuration in terms of logical capacity, physical capacity, NAND component, etc. The high volatile memory requirements also limit capacity scaling of the SSD, especially for an SSD with a small form factor, for example, the M.2 form-factor. The M.2 form factor has very limited physical space on the printed circuit board (PCB). As the density of NAND flash increases, it becomes very challenging to put enough volatile memory, for example, DRAM on the PCB of the M.2 form-factor to support the 4 KiB IU.